# 返回 x 在 arr 中的索引，如果不存在返回 -1
def binarySearch(arr, l, r, target):
    # 基本判断
    while l <= r:
        mid = int(l + (r - l)/2)
        if arr[mid] == target:
            return mid
        if target < arr[mid]:
            r = mid-1
        else:
            l = mid+1
    # 不存在
    return -1

arr = [2, 3, 4, 10, 40]
x = 10

# 函数调用
result = binarySearch(arr, 0, len(arr)-1, x)

if result != -1:
    print("元素在数组中的索引为 %d" % result)
else:
    print("元素不在数组中")
